/** 
 * Generiert die Medium ID, Regal ID und Standort ID
 * 
 * Datei: Nummerngenerator.java 	Autor: Simon Schindelmann 
 * Datum: 12.11.11                 	Version: 0.1
 * 
 */

package medienverwaltung;

import java.io.IOException;
import basis.ea.EA;

public class Nummerngenerator
{
  private EA ea;
  private static int mediumId = 0;
  private static int standortId = 0;
  private static int regalId = 0;

  public Nummerngenerator ()
  {
  }
  
  
  /**
   * Generiert die Medium ID.
   * @return liefert die generierte ID zurueck.
   */
  public static int generiereMediumId ()
  {
    mediumId = mediumId + 1;
    return mediumId;
  }


  /**
   * Generiert die Standort ID
   * @return liefert die generierte ID zurueck.
   */
  public static int generiereStandortId ()
  {
    standortId++;
    return standortId;
  }


  /**
   * Generiert die Regal ID
   * @return liefert die generierte ID zurueck.
   */
  public static int generiereRegalId ()
  {
    regalId++;
    System.out.println ("RegalID: " + regalId);
    return regalId;
  }
  
  
  /**
   * Speichert den Zustand der IDs.
   */
  public void zustandSpeichern ()
  {
    try 
    { 
      ea = new EA ("medienverwaltung.mediumId"); 
      ea.speichernXML (mediumId); 
      ea = new EA ("medienverwaltung.standortId"); 
      ea.speichernXML (standortId); 
      ea = new EA ("medienverwaltung.regalId"); 
      ea.speichernXML (regalId); 
    } 
    catch (IOException e) 
    { 
      // TODO Auto-generated catch block 
      e.printStackTrace (); 
    }
  }


  /**
   * Die aktuelle Zustand der IDS wird geladen.
   */
  public void setzeZustand ()
  {
    ea = new EA ("medienverwaltung.mediumId");
    if (ea.istGespeichertesXMLObjektVorhanden ())
    {
      mediumId = (Integer) ea.einlesenXML ();
    }
    ea = new EA ("medienverwaltung.standortId");
    if (ea.istGespeichertesXMLObjektVorhanden ())
    {
      standortId = (Integer) ea.einlesenXML ();
    }
    ea = new EA ("medienverwaltung.regalId");
    if (ea.istGespeichertesXMLObjektVorhanden ())
    {
      regalId = standortId = (Integer) ea.einlesenXML ();
    }
  }
}
